Link Aggregation Groups
As illustrated in FIG. 1A, link aggregation is a network configuration and process used to aggregate multiple links between a pair of nodes 120, 122 in the network to enable transmission of user data on each of the links participating in a Link Aggregation Group (LAG) 101 (see, e.g., Institute of Electrical and Electronics Engineers (IEEE) standard 802.1AX herein after referred to as IEEE 802.1AX-2008). Aggregating multiple network connections in this fashion can increase throughput beyond what a single connection can sustain, and/or can be used to provide resiliency in case of a failure of one of the links. The Conversation-sensitive frame collection and distribution (see subclause 6.6 of IEEE P802.1AX-REV™/D4.3, entitled “Draft Standard for Local and Metropolitan Area Networks-Link Aggregation,” dated Jul. 21, 2014, which is incorporated by reference in its entirety within) specifies extensions to link aggregation in order to be able to select which aggregation link a conversation is carried over. The “Distributed Resilient Network Interconnect” (DRNI) 102 (see Clause 8 of IEEE P802.1AX-REV™/D4.3, entitled “Draft Standard for Local and Metropolitan Area Networks-Link Aggregation,” dated Jul. 1, 2014, which is incorporated by reference in its entirety within) specifies extensions to link aggregation in order to be able to use link aggregation on a network interface even between more than two nodes, for example between four nodes K, L, M and O as illustrated in FIG. 1B.
As shown in FIG. 1B, a LAG is formed between Network 150 and Network 152. More specifically, a LAG is formed between LAG virtual nodes or “portals” 112, 114. The first LAG virtual node or portal 112 includes a first node (K) and a second node (L). The second LAG virtual node or portal 114 includes a third node (M) and a fourth node (O). These nodes can also be referred to as “Portal Systems.” Note that both the first and second LAG virtual nodes or portals 112, 114 may include a single or more than two nodes in a portal. LAG Nodes K and M are connected as peer nodes, and LAG Nodes L and O are also connected as peer nodes.
FIG. 1B also shows a DRNI link allocation of a particular service (see bold link between K and M in FIG. 1B). The allocated link is the working link between two working nodes K and M for the particular service, while the unallocated link may be provisioned as the protection link between two protection nodes L and O. The service allocation of an interface may involve a Virtual Local Area Network (VLAN), and an identifier for the service may be a VLAN Identifier (VID), such as a Service VID (i.e., “S-VID”) (typically identifying services on Network to Network Interfaces (NNIs)) or a Customer VID (i.e. “C-VID”) (typically identifying services on User to Network Interfaces (UNIs)). (Note that backbone-VIDs are indistinguishable from S-VIDs as they have the same Ethertype.) In the example of FIG. 1B, the service is allocated to the upper link (between upper nodes K, M). The upper link is thus chosen as the “working” link and the lower link (between nodes L, O) is the “standby” link or “protection” link. Service link allocation, i.e. using the same physical link for frame transmission both in the forward and in the backward directions is highly desirable.
While FIG. 1B shows DRNI portals 112 and 114 each contain two nodes, DRNI portals are not so limited. Each portal may contain one to three nodes. FIG. 1C illustrates a DRNI in an alternate embodiment. Referring to FIG. 1C, link aggregation group 131 contains portal 142 (one network device 130) at one end, and portal 144 (two network devices 132 and 134) at the other end. Also note that FIG. 1C shows a DRNI link allocation of a particular service (see bold link between network devices 130 and 134). The allocated link is the working link between two working nodes (network devices 130 and 134) for the particular service, while the unallocated link may be provisioned as the protection link between two protection nodes (network devices 130 and 132). The working node is a single node in this configuration, but it may contain different sets of aggregation ports for connecting the working and protection links between the portals 142 and 144.
Routing and Link State Control Protocols
Link-state control protocols, such as the Intermediate System to Intermediate System (IS-IS) or the Open Shortest Path First (OSPF), are distributed protocols that are most often used for the control of data packet routing and forwarding within a network domain. Link state protocols are executed by each node and collect information about the adjacent neighbor nodes of the node by exchanging Hello protocol data units (PDUs) with the adjacent neighbor nodes. The nodes then distribute the information about their neighbors by means of flooding Link-state PDUs (LSP) or Link State Advertisements (LSA) into the network domain. Thus, each node maintains a link state database (LSDB) based on the received LSPs or LSAs and the LSDB is identical in each node of a converged network domain. A topology database is retrieved from the LSDB, which stores the network domain topology Each node then determines a path to each of the possible destination nodes in the topology on its own, which is typically the shortest path often referred to as Shortest Path First. Each node then sets its local forwarding entry to the port through which a given destination node is reachable according to the result of the path computation (i.e., the shortest path). This mechanism ensures that there will be a shortest path set up between any pair of nodes in the network domain.
Shortest Path Bridging (SPB) (IEEE 802.1aq, 2012) specifies extensions to IS-IS for the control of bridged Ethernet networks. SPB is a form of add-on to IS-IS (ISIS, (International Standards Organization (ISO)/International Electrotechnical Commission (EIC) 10589, 2002) by defining new type/length/values (TLVs) and the relevant operations. That is, the existing IS-IS features have been kept, but some new features were added for control over Ethernet. SPB uses shortest paths for forwarding and is also able to leverage multiple shortest paths.
The IEEE 802.1Qca draft D1.0 (IEEE 802.1Qca, 2013, referred to herein as IEEE 8021Qca) defines an explicit tree (also referred to as an explicit forwarding tree) as a set of hops, where each hop defines the next node over which a path must be routed, the Topology sub-TLV of 802.1Qca provides a structure for describing an explicit tree and for conveying the explicit tree using LSPs or LSAs into a network domain. An explicit tree can be utilized to describe a point to point path and used in place of a shortest path to define a path between a node pair in the network domain. The explicit tree can also be a multipoint-to-multipoint path and used in place of a shortest path tree to define a tree among a set of nodes in the network domain. As used herein, an explicit tree is generic to all types of paths, including point to point paths and multipoint paths, with an explicit path referring to point to point paths. The Topology sub-TLV is disseminated making use of IS-IS, i.e. flooded in an LSP throughout the network domain. All nodes, upon receiving this advertisement are able to install the necessary forwarding entries thus an end-to-end explicit tree or path is formed. Then, all nodes, as a result of the local configuration, generate a second advertisement that disseminates the result of the path configuration. Then any system connected to the Ethernet network, including a Path Computation Element (PCE), is able determine whether the path has been successfully installed or the configuration has failed.
However, a limitation of path determination in a network domain is that the existence and characteristics of LAGs are not included in the information provided by LSPs because IS-IS does not provide a mechanism for sharing LAG configuration and the IS-IS modules implementing the protocol at each node in the network do not have information regarding LAG configuration, because the IS-IS neighbor discovery process (i.e., the exchange of Hello PDUs) does not interact with the link aggregation layer. As a result, an explicit tree or path cannot be specified to utilize a particular link in a LAG.